Color video coding scheme

ABSTRACT

Embodiments of a color video coding and decoding scheme are disclosed.

RELATED APPLICATIONS

[0001] This patent application is related to the following co-pending patent applications: “Method and Apparatus for Three-Dimensional Wavelet Transform” by Acharya et al., filed on May 29, 2001, U.S. patent application Ser. No. 09/867,784, (attorney docket no. 042390.P11707); “Method and Apparatus for Coding of Wavelet Transformed Coefficients” by Acharya et al., filed on May 29, 2001, U.S. patent application Ser. No. 09/867,781, (attorney docket no. 042390.P11706); and “Method of Compressing a Color Image” by Acharya et al., filed on Oct. 1, 1999, U.S. patent application Ser. No. 09/411,697, (attorney docket no. 042390.P7463); all of the foregoing assigned to the assignee of the present invention and herein incorporated by reference.

BACKGROUND

[0002] This disclosure is related to color video and/or image coding.

[0003] Color images and/or videos are usually visually appealing and have been found at times to convey more information than gray scale images or video. Therefore, efficient color image and/or video compression schemes are desirable. One issue in coding video, for example, including color video, is motion estimation. Motion estimation is typically computationally intensive and may also affect the amount of compression achieved.

BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The subject matter is particularly pointed out and distinctly claimed in the concluding portion of the specification. The claimed subject matter, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:

[0005]FIG. 1 is a schematic diagram illustrating an embodiment of a 3-D wavelet transform;

[0006]FIG. 2 is a schematic diagram illustrating the sub-blocks that may be employed in the embodiment of FIG. 1;

[0007]FIG. 3 is a schematic diagram illustrating an embodiment of 3-D wavelet reconstruction for the embodiment of FIG. 1;

[0008]FIG. 4 is a schematic diagram illustrating a parent-child relationship for an embodiment of a 3-D wavelet transform coding scheme;

[0009]FIG. 5 is a flowchart illustrating an embodiment of a coding scheme that may be employed for 3-D wavelet coefficients;

[0010]FIG. 6 is a state diagram of an embodiment of a decoding scheme that may correspond to the embodiment of FIG. 5;

[0011] FIGS. 7-13 are schematic diagrams illustrating color components of a transformed color image and associated computations to code the transformed image for one particular embodiment;

[0012]FIG. 14 is a schematic diagram illustrating the architecture for an embodiment of a color video coding scheme;

[0013]FIG. 15 is a sequence of images illustrating a frame that has been coded and reconstructed in accordance with various potential color coding embodiments;

[0014]FIG. 16 is a plot illustrating PSNR performance for one of the potential coding embodiments of FIG. 15.

DETAILED DESCRIPTION

[0015] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. However, it will be understood by those skilled in the art that the claimed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail in order so as not to obscure the claimed subject matter.

[0016] In one embodiment, an efficient color coding scheme for color video using three dimensional (3-D) discrete wavelet transforms (DWT) employing correlation among different color components is described. Of course, the claimed subject matter is not limited in scope to employing a DWT. Other wavelet transforms may be employed within the scope of the claimed subject matter. However, experimental results for such an embodiment are also provided. Furthermore, to produce experimental results, several aspects of the coding were specified; however, this is merely an example embodiment and the claimed subject matter is not limited in scope to these specified coding aspects or to this particular embodiment.

[0017] One aspect of the following embodiment is the notion that a sequence of still images or video may be treated as 3-D data or as a 3-D image. One advantage for this particular embodiment is that motion estimation is not employed to perform coding. It shall be noted that for this embodiment this produced levels of compression that typically are not available with conventional approaches. Furthermore, this embodiment is typically less computationally intensive than such conventional approaches.

[0018] Since color models (RGB, YUV, YCbCr, etc.) are usually inter-convertible and are frequently provided in red-green-blue (RGB) format, this embodiment employs RGB format. However, the claimed subject matter is not limited in scope to this particular format. Likewise, here, the green component may be taken as a reference component for the red and blue components. This may be at least in part because the human eye is more sensitive to luminance and much of the luminance information may be contained in the green component. However, again, this is merely an example embodiment.

[0019] One embodiment of a method of color coding a sequence of frames may include the following. A three-dimensional wavelet transform may be applied to the color components of the sequence of frames or color video. At least one of the color components may be coded. Additionally, an adjustment to at least some remaining color components may be coded relative to the at least one coded color component. Likewise, an embodiment of a method of decoding and reconstructing a sequence of coded color frames includes the following. At least a color component that has been coded is decoded. Adjustments to the at least one decoded color component are decoided to produce remaining color components. An inverse 3-D wavelet transform is applied to the decoded color components to reconstruct the sequence of color frames.

[0020] Although the claimed subject matter is not limited in scope in this respect, one approach to applying a DWT in three dimensions is described in aforementioned “Method and Apparatus for Three-Dimensional Wavelet Transform,” U.S. patent application Ser. No. 09/867,784, (attorney docket no. 042390.P11707).

[0021] This particular embodiment, here applied to color video, includes the following.

[0022] 1. R, G, and B components of a color video sequence are independently 3-D wavelet transformed to give 3-D Wavelet coefficients of individual color components, such as R, G, B.

[0023] 2. G color plane coefficients, in this embodiment, are coded using 3-D wavelet coding.

[0024] 3. R and B color plane coefficients, in this embodiment, are coded with respect to G plane coefficients.

[0025] These tasks are discussed in detail below.

[0026] In this particular embodiment, a multi-resolution wavelet representation, such as for a DWT, may be employed to provide a simple hierarchical framework for interpreting an image. At different resolutions, the details of an image generally characterize different physical structures of a scene. A coarse to fine approach may be employed to assist in the coding of the transformed image, as well as to result in effective compression. When the approach is applied to a video sequence, it may be modified from a 2-D to a 3-D transform.

[0027] The procedure followed to perform the 3-D wavelet transform may be explained using the diagram shown in FIG. 1. For this embodiment, at each level of decomposition, a 3-D DWT will decompose the sequence of video frames into 8 subbands—one low frequency 3-D subband (denoted as LLL subband in FIG. 2) and seven high frequency 3-D subbands or detailed sub-blocks.

[0028] The input video sequence, here designated V, may be treated as a 3-D block with the different frames arranged substantially according to time position. This sequence, in this particular embodiment may be fed to two paths, designated P₁ and P₂. Along one path, here P₁, filtering along the time axis may be applied, in this embodiment with filter function g(n). The filtered data, again, in this particular embodiment may be sub-sampled, here by 2. Thus, in this embodiment, alternative frames of the block may be retained. The frames from this reduced block may be again fed into two paths, here P₃ and P₄, as illustrated in FIG. 1.

[0029] Along one of the paths or sub-paths, such as here P₃, filtering may be applied along the rows, again with filter function g(n). The filtered data, again, in this particular embodiment may be sub-sampled, here by 2. Here, alternative columns of the matrix or frame may be retained. This reduced matrix may be fed into two paths, P₅ and P₆ as illustrated in FIG. 1.

[0030] Along direction P₅, here, filtering may be applied along the columns with filter function g(n). The filtered data may be sub-sampled by 2. Alternative rows of the matrix may be retained. This may produce a detail signal, D¹.

[0031] Along the other direction, here P₆, filtering may be applied along the columns with filter function h(n), in this particular embodiment. The filtered data may be sub-sampled by 2, again, for this particular embodiment. Alternative rows of the matrix may be retained. This may produce a detail signal, D².

[0032] In the other sub-path, here P₄, filtering may be applied along the rows with filter function h(n). The filtered data may be sub-sampled by 2. Alternative columns of the matrix may be retained. This reduced matrix may be again split into two paths, P₇ and P8 in FIG. 1.

[0033] In one direction P₇, filtering may be applied along the columns, here with filter function g(n). The filtered data may be sub-sampled by 2. Here, alternative rows of the matrix may be retained. This may produce a detail signal, D³.

[0034] In the other direction P₈, filtering may be applied along the columns, here with filter function h(n). The filtered data may be sub-sampled by 2. Alternative rows of the matrix may be retained. This may produce a detail signal, D⁴.

[0035] In the other path, here P₂, filtering may be applied along the time axis, here with filter function h(n) in this embodiment. The filtered data may be sub-sampled by 2, in this embodiment. Alternative frames of the block may be retained. The frames from this reduced block may be again fed into two paths, P₉ and P₁₀ in FIG. 1.

[0036] In one sub-path P₉, filtering may be applied along the rows, with filter function g(n) in this embodiment. The filtered data may be sub-sampled by 2. Thus, alternative columns of the matrix or frame may be retained. This reduced matrix may be again fed into two paths, P₁₁ and P₁₂ in FIG. 1.

[0037] In one direction, here P₁₁, filtering may be applied along the columns, here with filter function g(n). The filtered data may be sub-sampled by 2. Thus, alternative rows of the matrix may be retained. This may produce a detail signal, D⁵.

[0038] In the other direction, here P₁₂, filtering may be applied along the columns, here with filter function h(n). The filtered data may be sub-sampled by 2. Thus, alternative rows of the matrix may be retained. This may produce a detail signal, D⁶.

[0039] In the other sub-path P₁₀, filtering may be applied along the rows, here using h(n).The filtered data may be sub-sampled by 2. Alternative columns of the matrix may be retained. This reduced matrix may again be split into two paths, P₁₃ and P₁₄ in this embodiment.

[0040] In one direction, here P₁₃, filtering may be applied along the columns with filter function g(n). The filtered data may be sub-sampled, here by 2. Alternative rows may be retained. This may produce a detail signal, D⁷.

[0041] In the other direction P₁₄, filtering may be applied along the columns with filter function h(n) in this embodiment. The filtered data may be sub-sampled by 2. Therefore, alternative rows of the matrix may be retained. This may produce a detail signal, V′.

[0042] Thus, seven detail subblocks may be extracted that provide the variations of the edge information, eg, horizontal, vertical and diagonal, with time. The other, or eighth, subblock or component, in this embodiment, may be the applied video sequence at a lower resolution, due to low pass filtering, such as by h(n) in this embodiment. Applying compression to produce these blocks, such as described in more detail hereinafter, for example, therefore, may produce 3-D coding.

[0043] Similarly, an inverse 3D discrete wavelet transform or reconstruction approach may be explained using a diagram, such as shown in FIG. 3. Such a decoding scheme is explained in more detail in the aforementioned U.S. patent application Ser. No. 09/876,781 (attorney docket no. 042390.P11706), although, again, the claimed subject matter is not limited in scope to this approach. In general, however, some amount of correspondence or association between the approach employed to encode and the approach employed to decode the sequence may typically take place. For one particular embodiment, a method of applying an inverse three-dimensional discrete wavelet transformation ( 3D IDWT) to a plurality of transformed video image sub-blocks, the sub-blocks comprising transformed frames, and the frames comprising rows and columns, may include the following. The transformed video image sub-blocks may be inverse transformed by: up-sampling the respective sub-blocks by row, column and frame; filtering and combining one or more respective pairs of up-sampled sub-blocks to produce an up-sampled sub-block corresponding to each respective pair; reapplying the previous to any produced up-sampled sub-block pairs until one up-sampled sub-block remains; multiplying the one remaining up-sampled sub-block by eight to produce a block at the next higher resolution.

[0044] This approach is described and illustrated with reference to FIG. 3 as follows, although, the claimed subject matter is not limited in scope to this particular approach. Detail signal D¹ may be up-sampled. For example, a row of zeros may be inserted between adjacent rows. This sub-block may then be filtered along the columns with the filter function g(n). Detail signal D² may be up-sampled. For example, a row of zeros may be inserted between adjacent rows. This sub-block may then be filtered along the columns with the filter function h(n). The resulting output signals from applying the foregoing processes to D₁ and D₂ are added, as illustrated in FIG. 3. The resultant sub-block may be up-sampled. For example, a column of zeros may be inserted between adjacent columns. This matrix may then be filtered along the rows with the filter function g(n) to produce interim signals I₁.

[0045] Detail signal D³ may be up-sampled. For example, a row of zeros may be inserted between rows. This sub-block may then be filtered along the columns with the filter function g(n). Detail signal D⁴ may be up-sampled. For example, a row of zeros may be inserted between rows. This sub-block may then be filtered along the columns with the filter function h(n). The resultant output signals from applying the foregoing processes to D₃ and D₄ may be added. The resultant sub-block may be up-sampled. For example, a column of zeros may be inserted between columns. This matrix may then then filtered along the rows with the filter function h(n). The resultant output signals here may be added with interim signals I₁. The resultant sub-block may be up-sampled. For example, a frame of zeros may be inserted between frames. This matrix may be then filtered along the frames with the filter function g(n) to produce interim signals I₂.

[0046] Detail signal D⁵ may be up-sampled. For example, a row of zeros may be inserted between adjacent rows. This sub-block may then be filtered along the columns with the filter function g(n). Detail signal D⁶ may be up-sampled. For example, a row of zeros may be inserted between adjacent rows. This sub-block may then be filtered along the columns with the filter function h(n). The resulting output signals from applying the foregoing processes to D₅ and D₆ may be added, as illustrated in FIG. 3. The resultant sub-block may be up-sampled. For example, a column of zeros may be inserted between adjacent columns. This matrix may then be filtered along the rows with the filter function g(n) to produce interim signals I₃.

[0047] Detail signal D⁷ may be up-sampled. For example, a row of zeros may be inserted between rows. This sub-block may then be filtered along the columns with the filter function g(n). Detail signal V′may be up-sampled. For example, a row of zeros may be inserted between rows. This sub-block may then be filtered along the columns with the filter function h(n). The resultant output signals may be added. The resultant sub-block may be up-sampled. For example, a column of zeros may be inserted between columns. This matrix may then be filtered along the rows with the filter function h(n). The resultant output signals may be added with interim signals I₃. The resultant sub-block may be up-sampled. For example, a frame of zeros may be inserted between frames. This matrix may then be filtered along the frames with the filter function h(n). The resultant output signals may be added with interim signals I₂. The resultant sub-block may be multiplied by 8 to get the sub-matrix to the next level of resolution. diagram as shown in FIG. 3.

[0048] Quantization factors that may be applied to different blocks at the highest level of 3-D wavelet coefficients are given in table 1 (refer to FIG. 2 for block numbers). Quantization factors for other blocks may be derived from the quantization factor applied to the block at the next higher level (but at the same orientation) by multiplying with 2. These quantization parameters have been generated by evaluation on a number of color video clips. Of course, the claimed subject matter is not limited in scope to these parameters or to employing quantization. However, in this particular embodiment, the wavelet coefficients for the associated sub-blocks are divided by these factors prior to coding. TABLE 1 Different Uniform Scalar Quantization parameters imposed on different subband decomposed 3-D blocks as shown in FIG. 2. Blk 2 Blk 3 Blk 4 Blk 5 Blk 6 Blk 7 Blk 8 Quantization 1.15 1.15 1.4 1.2 1.25 1.54 1.7 values

[0049] A DWT transformed G color plane in a 3D sequence may be encoded as described, for example, in “Method and Apparatus for Coding of Wavelet Transformed Coefficients” U.S. patent application Ser. No. 09/867,781, (attorney docket no. 042390.P11706). One particular video embodiment is provided below, although the claimed subject matter is not limited in scope to this particular embodiment.

[0050] A 3D wavelet transform decomposes an image into seven subbands, one low frequency subband (e.g., LLL) and seven high frequency subbands (e.g., LLH, LHL, LHH, HLL, HLH, HHL, HHH). The LLL subband has the characteristics of the original image and may be decomposed in multiple levels. In an example application, the decomposition may be applied up to 4 levels and, in this example, levels of the transform are numbered as in FIG. 4. Of course, the claimed subject matter is not limited in scope to this example or to this number of levels. The coefficients may be scanned in a particular pattern. The coefficients may be scanned in such a way so that no finer level coefficients are scanned before the coarser ones (indicated in diagonal and horizontal lines in FIG. 4). The parent-child relationship for a zero tree search (ZTR) is also illustrated in FIG. 4. The LLL band does not take part in the coding sequence in this particular embodiment. Here, it may be transmitted without changes. For example, any lossless coding method may be applied for this transmission. The starting threshold for the coding may be taken as 1 in this particular embodiment. In successive passes, the threshold may bedoubled. The total number of such passes may be └log₂(max)┘+1, where “max” in this embodiment denotes the maximum value among the magnitudes of all the coefficients to be encoded. A bit-based conditional coding scheme may also be applied in this particular embodiment, e.g., for a symbol, such as P, N, R, IZ , either bit 1 or 0 is coded, depending on the condition whether it is true or false. A flowchart is shown in FIG. 5 depicting the coding embodiment, whereas the corresponding decoding scheme is shown in FIG. 6 in the form of a state diagram. Again, this coding scheme applied to a 2-D example is explained in more detail in the aforementioned U.S. patent application Ser. No. 09/867,781 (042390.P11706).

[0051] Coefficients of R and B planes may be coded using a technique described in “Method of Compressing a Color Image” U.S. patent application Ser. No. 09/411,697, (attorney docket no. 042390.P7463); although, of course, the claimed subject matter is not limited in scope in this respect. Applying this coding scheme to video, 3-D wavelet transformed coefficient planes for different color planes are shown in FIG. 7. In this particular embodiment, two coefficients, coeff_r and coeff_b, for the different subbands may be calculated and transmitted. Again, for this embodiment, the calculation may be performed as shown:

coeff_(—) r=r/g & coeff_(—) b=b/g

[0052] where r, g, b are calculated on the coefficient values of the shaded regions shown in FIG. 8. They are the mean of the absolute values of the coefficients of the respective regions, in this embodiment. These two coefficients for the other subbands may be calculated in a similar manner taking the corresponding areas into account.

[0053] For the R component, the following may be performed. From the R coefficient values, a value based at least in part on the corresponding G values, in this particular embodiment, may be subtracted for the coefficients in the shaded region in FIG. 9. Of course, the value of coeff_r depends on the subband on which the calculations are being made. Mathematically,

R_error (i,j)=R(i,j)−coeff_(—) r*G(i,j)

[0054] The values of the error in the shaded region as shown in FIG. 9 may, in this embodiment, be entropy coded and transmitted, e.g., a partial error frame may be coded and transmitted in this particular embodiment.

[0055] For the B component a similar approach may be applied in this embodiment. From the B coefficient values, again, appropriate values, in this embodiment based at least in part on the corresponding G values, may be subtracted, for the coefficients in the shaded region of FIG. 10. To put it mathematically,

B_error (i,j)=B(i,j)−coeff_(—) b*G(i,j)

[0056] The values in the shaded region, again, may be entropy coded and transmitted.

[0057] For decoding, an inverse scheme may be applied in this embodiment. From the G coefficients and coeff_r, coeff_b of different subbands, estimated R′, B′ coefficient value matrices may be constructed as follows. For the R component, values G′ coefficients *coeff_r may be stored in corresponding places of the R matrix.

R′(i,j)=G′(i,j)*coeff_(—) r*

[0058] For the B component, values G′ coefficients *coeff_b may be stored in corresponding places of the B matrix. To put it mathematically,

B′(i,j)=G′(i,j)*coeff_(—) b

[0059] For the R component, the partial error matrix may be entropy decoded and then corresponding values may be added to previously estimated R′ coefficient values. Mathematically,

new R(i,j)=R′(i,j)+R_error(i,j)

[0060] for all i, j in the shaded region of FIG. 12, for example.

[0061] For the B component, again, the partial error matrix may be entropy decoded and then corresponding values may be added to the previously estimated B′ coefficient values.

new B(i,j)=B′(i,j)+B_error(i,j)

[0062] for all i, j in the shaded region of FIG. 13, for example.

[0063] Once the R, G, B wavelet transformed matrices are thus calculated, an inverse 3-D wavelet transformation may be applied to get the reconstructed frames. A schematic diagram of this embodiment of a color video coding scheme is shown in FIG. 14. Decoding is obtained from reversing the process, as just described.

[0064] Here the results are presented on a RGB formatted 24 bits per pixel cif image (352 * 288) named “Bright” sequence. Four cases have been taken.

[0065] Case 1: R, G, B components were coded by the stated approach without quantization of the G component.

[0066] Case 2: In addition to the earlier case no outermost subbands of B and R components were transmitted.

[0067] Case 3: In addition to the earlier case the G component was quantized.

[0068] Case 4: In addition to the earlier case, quantization of B and R components was performed

[0069] The results obtained were quite satisfactory, as shown in table 2. TABLE 2 Compression ratios and PSNR values for different cases Case B (PSNR) G (PSNR) R (PSNR) Compression (1) 37.0 37.91 36.38 8.13 (2) 36.51 37.91 35.91 9.03 (3) 32.21 31.74 30.77 21.89 (4) 31.32 31.74 30.19 74.25

[0070] The PSNR values for R, G, B components for different frames is plotted for case (4) in FIG. 16. One of the reconstructed frames (Frame 50) for the different cases is shown in FIG. 15. Note that case 4 provides high compression with an acceptably small drop in PSNR.

[0071] Although the claimed subject matter is not limited in scope to the particular embodiments described and shown, nonetheless, these embodiments provide a number of potential advantages. An applied 3D wavelet transformation technique has been shown to reduce redundancies in the image sequence by taking advantage of spatial as well as temporal redundancies. No computationally complex motion estimation/compensation technique is employed in this particular embodiment. Likewise, since no motion estimation/compensation based DCT technique is applied, the reconstructed video generally has fewer visually annoying or blocking artifacts. For the most part, the previously described coding scheme is computationally faster and efficiently codes the 3D wavelet transformed coefficients by employing fewer bits. Hence, it improves compression performance. Furthermore, by applying bit-plane processings with minor modifications to the previously described technique, parallel execution may be employed. Likewise, a bit-plane coding and decoding approach makes such an embodiment of a video coder suitable for a progressive coding environment.

[0072] It will, of course, be understood that, although particular embodiments have just been described, the claimed subject matter is not limited in scope to a particular embodiment or implementation. For example, one embodiment may be in hardware, such as implemented to operate on an integrated circuit chip, for example, whereas another embodiment may be in software. Likewise, an embodiment may be in firmware, or any combination of hardware, software, or firmware, for example. Likewise, although the claimed subject matter is not limited in scope in this respect, one embodiment may comprise an article, such as a storage medium. Such a storage medium, such as, for example, a CD-ROM, or a disk, may have stored thereon instructions, which when executed by a system, such as a computer system or platform, or an imaging or video system, for example, may result in an embodiment of a method in accordance with the claimed subject matter being executed, such as an embodiment of a method of color video coding, for example, as previously described. For example, an image or video processing platform or another processing system may include a video or image processing unit, a video or image input/output device and/or memory.

[0073] While certain features of the claimed subject matter have been illustrated and described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the claimed subject matter. 

1. A method of color coding a sequence of color frames comprising: applying a three-dimensional wavelet transform to color components of the sequence of color frames; coding at least one of the color components; and coding an adjustment to at least some remaining color components relative to the at least one color component.
 2. The method of claim 1, wherein the color components comprise three color components.
 3. The method of claim 2, wherein the three color components comprise R, G, and B.
 4. The method of claim 3, wherein the at least one component comprises G.
 5. The method of claim 1, wherein the three-dimensional transform comprises a three-dimensional discrete wavelet transform.
 6. The method of claim 1, wherein coding of the at least one color component comprises a bit-based conditional coding scheme.
 7. The method of claim 1, wherein the adjustment comprises a partial error adjustment based at least in part on a ratio of color components intensities.
 8. The method of claim 7, wherein the adjustment is entropy encoded.
 9. A method of decoding and reconstructing a sequence of coded color frames comprising: decoding at least a color component that has been coded; decoding adjustments to the at least one decoded color component to produce remaining color components; and applying an inverse 3-D wavelet transform to the decoded color components to reconstruct the sequence of color frames.
 10. The method of claim 9, wherein the color components comprise three color components.
 11. The method of claim 10, wherein the three color components comprise R, G, and B.
 12. The method of claim 11, wherein the at least one component comprises G.
 13. The method of claim 9, wherein the inverse three-dimensional transform comprises an inverse three-dimensional discrete wavelet transform.
 14. The method of claim 9, wherein decoding of the at least one color component comprises decoding a bit-based conditional coding scheme.
 15. The method of claim 9, wherein the adjustment is entropy decoded at least in part.
 16. An article comprising: a storage medium having stored thereon instructions that, when executed, result a method of color coding a sequence of color frame by: applying a three-dimensional wavelet transform to color components of the sequence of color frames; coding at least one of the color components; and coding an adjustment to at least some remaining color components relative to the at least one color component.
 17. The article of claim 16, wherein the instructions, when executed, result in applying a three-dimensional wavelet transform to color components comprising applying a three-dimensional wavelet transform to three color components.
 18. The article of claim 17, wherein the three color components comprise R, G, and B.
 19. The article of claim 18, wherein the at least one component comprises G.
 20. The article of claim 16, wherein the instructions, when executed, result in the three-dimensional transform comprising a three-dimensional discrete wavelet transform.
 21. The article of claim 16, wherein the instructions, when executed, result in the coding of the at least one color component comprising a bit-based conditional coding scheme.
 22. The article of claim 16, wherein the instructions, when executed, result in the adjustment comprising a partial error adjustment based at least in part on a ratio of color components intensities.
 23. The article of claim 16, wherein the instructions, when executed, result in the coding of the adjustment comprising entropy encoded.
 24. An article comprising: a storage medium having stored thereon instructions that, when executed, result in a method of decoding and reconstructing a sequence of coded color frames being performed by: decoding at least a color component that has been coded; decoding adjustments to the at least one decoded color component to produce remaining color components; and applying an inverse 3-D wavelet transform to the decoded color components to reconstruct the sequence of color frames.
 25. The article of claim 24, wherein the instructions, when executed, result in the color components comprising three color components.
 26. The article of claim 25, wherein the instructions, when executed, result in the three color components comprising R, G, and B.
 27. The article of claim 26, wherein the instructions, when executed, result in at least one component comprising G.
 28. The article of claim 24, wherein the instructions, when executed, result in the inverse three-dimensional transform comprising an inverse three-dimensional discrete wavelet transform.
 29. The article of claim 24, wherein the instructions, when executed, result in decoding of the at least one color component comprising decoding a bit-based conditional coding scheme.
 30. The article of claim 24, wherein the instructions, when executed, result in the decoding applied to the adjustment coding comprising entropy decoded at least in part. 